using System;
using System.Collections.Generic;
using System.Text;

using NHibernate;
using Zwms.Data.Base;
using System.Runtime.Serialization;

namespace Zwms.Data.BusinessObjects
{
     [DataContract]
    public partial class BilCountBill : BusinessBase<string>
    {
        #region Declarations

        private string _authorityCompanyCode = String.Empty;
        private string _authorityCompanyName = String.Empty;
        private string _authorityWarehouseCode = String.Empty;
        private string _authorityWarehouseName = String.Empty;
        private string _planCountDate = String.Empty;
        private string _planCountTime = String.Empty;
        private string _countOperatorCode = String.Empty;
        private string _countOperatorName = String.Empty;
        private string _countDate = String.Empty;
        private string _countTime = String.Empty;
        private string _warehouseCode = String.Empty;
        private string _warehouseName = String.Empty;
        private string _auditorCode = String.Empty;
        private string _auditorName = String.Empty;
        private string _auditorDate = String.Empty;
        private string _auditorTime = String.Empty;
        private string _billStatus = String.Empty;
        private string _isDeactived = String.Empty;
        private string _createUserCode = String.Empty;
        private string _createUserName = String.Empty;
        private string _createDate = String.Empty;
        private string _createTime = String.Empty;
        private string _editUserCode = String.Empty;
        private string _editUserName = String.Empty;
        private string _editDate = String.Empty;
        private string _editTime = String.Empty;
        private string _remark = String.Empty;
        private string _startDate = String.Empty;
        private string _endDate = String.Empty;


        #endregion

        #region Constructors

        public BilCountBill() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append(this.GetType().FullName);
            sb.Append(_authorityCompanyCode);
            sb.Append(_authorityCompanyName);
            sb.Append(_authorityWarehouseCode);
            sb.Append(_authorityWarehouseName);
            sb.Append(_planCountDate);
            sb.Append(_planCountTime);
            sb.Append(_countOperatorCode);
            sb.Append(_countOperatorName);
            sb.Append(_countDate);
            sb.Append(_countTime);
            sb.Append(_warehouseCode);
            sb.Append(_warehouseName);
            sb.Append(_auditorCode);
            sb.Append(_auditorName);
            sb.Append(_auditorDate);
            sb.Append(_auditorTime);
            sb.Append(_billStatus);
            sb.Append(_createUserCode);
            sb.Append(_createUserName);
            sb.Append(_createDate);
            sb.Append(_createTime);
            sb.Append(_editUserCode);
            sb.Append(_editUserName);
            sb.Append(_editDate);
            sb.Append(_editTime);
            sb.Append(_remark);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

        [DataMember]
        public virtual string AuthorityCompanyCode
        {
            get { return _authorityCompanyCode.TrimEnd(); }
            set
            {
                OnAuthorityCompanyCodeChanging();
                _authorityCompanyCode = value;
                OnAuthorityCompanyCodeChanged();
            }
        }
        partial void OnAuthorityCompanyCodeChanging();
        partial void OnAuthorityCompanyCodeChanged();

        [DataMember]
        public virtual string AuthorityCompanyName
        {
            get { return _authorityCompanyName.TrimEnd(); }
            set
            {
                OnAuthorityCompanyNameChanging();
                _authorityCompanyName = value;
                OnAuthorityCompanyNameChanged();
            }
        }
        partial void OnAuthorityCompanyNameChanging();
        partial void OnAuthorityCompanyNameChanged();

        [DataMember]
        public virtual string AuthorityWarehouseCode
        {
            get { return _authorityWarehouseCode.TrimEnd(); }
            set
            {
                OnAuthorityWarehouseCodeChanging();
                _authorityWarehouseCode = value;
                OnAuthorityWarehouseCodeChanged();
            }
        }
        partial void OnAuthorityWarehouseCodeChanging();
        partial void OnAuthorityWarehouseCodeChanged();

        [DataMember]
        public virtual string AuthorityWarehouseName
        {
            get { return _authorityWarehouseName.TrimEnd(); }
            set
            {
                OnAuthorityWarehouseNameChanging();
                _authorityWarehouseName = value;
                OnAuthorityWarehouseNameChanged();
            }
        }
        partial void OnAuthorityWarehouseNameChanging();
        partial void OnAuthorityWarehouseNameChanged();

        [DataMember]
        public virtual string PlanCountDate
        {
            get { return _planCountDate.TrimEnd(); }
            set
            {
                OnPlanCountDateChanging();
                _planCountDate = value;
                OnPlanCountDateChanged();
            }
        }
        partial void OnPlanCountDateChanging();
        partial void OnPlanCountDateChanged();

        [DataMember]
        public virtual string PlanCountTime
        {
            get { return _planCountTime.TrimEnd(); }
            set
            {
                OnPlanCountTimeChanging();
                _planCountTime = value;
                OnPlanCountTimeChanged();
            }
        }
        partial void OnPlanCountTimeChanging();
        partial void OnPlanCountTimeChanged();

        [DataMember]
        public virtual string CountOperatorCode
        {
            get { return _countOperatorCode.TrimEnd(); }
            set
            {
                OnCountOperatorCodeChanging();
                _countOperatorCode = value;
                OnCountOperatorCodeChanged();
            }
        }
        partial void OnCountOperatorCodeChanging();
        partial void OnCountOperatorCodeChanged();

        [DataMember]
        public virtual string CountOperatorName
        {
            get { return _countOperatorName.TrimEnd(); }
            set
            {
                OnCountOperatorNameChanging();
                _countOperatorName = value;
                OnCountOperatorNameChanged();
            }
        }
        partial void OnCountOperatorNameChanging();
        partial void OnCountOperatorNameChanged();

        [DataMember]
        public virtual string CountDate
        {
            get { return _countDate.TrimEnd(); }
            set
            {
                OnCountDateChanging();
                _countDate = value;
                OnCountDateChanged();
            }
        }
        partial void OnCountDateChanging();
        partial void OnCountDateChanged();

        [DataMember]
        public virtual string CountTime
        {
            get { return _countTime.TrimEnd(); }
            set
            {
                OnCountTimeChanging();
                _countTime = value;
                OnCountTimeChanged();
            }
        }
        partial void OnCountTimeChanging();
        partial void OnCountTimeChanged();

        [DataMember]
        public virtual string WarehouseCode
        {
            get { return _warehouseCode.TrimEnd(); }
            set
            {
                OnWarehouseCodeChanging();
                _warehouseCode = value;
                OnWarehouseCodeChanged();
            }
        }
        partial void OnWarehouseCodeChanging();
        partial void OnWarehouseCodeChanged();

        [DataMember]
        public virtual string WarehouseName
        {
            get { return _warehouseName.TrimEnd(); }
            set
            {
                OnWarehouseNameChanging();
                _warehouseName = value;
                OnWarehouseNameChanged();
            }
        }
        partial void OnWarehouseNameChanging();
        partial void OnWarehouseNameChanged();

        [DataMember]
        public virtual string AuditorCode
        {
            get { return _auditorCode.TrimEnd(); }
            set
            {
                OnAuditorCodeChanging();
                _auditorCode = value;
                OnAuditorCodeChanged();
            }
        }
        partial void OnAuditorCodeChanging();
        partial void OnAuditorCodeChanged();

        [DataMember]
        public virtual string AuditorName
        {
            get { return _auditorName.TrimEnd(); }
            set
            {
                OnAuditorNameChanging();
                _auditorName = value;
                OnAuditorNameChanged();
            }
        }
        partial void OnAuditorNameChanging();
        partial void OnAuditorNameChanged();

        [DataMember]
        public virtual string AuditorDate
        {
            get { return _auditorDate.TrimEnd(); }
            set
            {
                OnAuditorDateChanging();
                _auditorDate = value;
                OnAuditorDateChanged();
            }
        }
        partial void OnAuditorDateChanging();
        partial void OnAuditorDateChanged();

        [DataMember]
        public virtual string AuditorTime
        {
            get { return _auditorTime.TrimEnd(); }
            set
            {
                OnAuditorTimeChanging();
                _auditorTime = value;
                OnAuditorTimeChanged();
            }
        }
        partial void OnAuditorTimeChanging();
        partial void OnAuditorTimeChanged();

        [DataMember]
        public virtual string BillStatus
        {
            get { return _billStatus.TrimEnd(); }
            set
            {
                OnBillStatusChanging();
                _billStatus = value;
                OnBillStatusChanged();
            }
        }
        partial void OnBillStatusChanging();
        partial void OnBillStatusChanged();

          [DataMember]
        public virtual string IsDeactived
        {
            get { return _isDeactived; }
            set
            {
                OnIsDeactivedChanging();
                _isDeactived = value;
                OnIsDeactivedChanged();
            }
        }
        partial void OnIsDeactivedChanging();
        partial void OnIsDeactivedChanged();

        [DataMember]
        public virtual string CreateUserCode
        {
            get { return _createUserCode.TrimEnd(); }
            set
            {
                OnCreateUserCodeChanging();
                _createUserCode = value;
                OnCreateUserCodeChanged();
            }
        }
        partial void OnCreateUserCodeChanging();
        partial void OnCreateUserCodeChanged();

        [DataMember]
        public virtual string CreateUserName
        {
            get { return _createUserName.TrimEnd(); }
            set
            {
                OnCreateUserNameChanging();
                _createUserName = value;
                OnCreateUserNameChanged();
            }
        }
        partial void OnCreateUserNameChanging();
        partial void OnCreateUserNameChanged();

        [DataMember]
        public virtual string CreateDate
        {
            get { return _createDate.TrimEnd(); }
            set
            {
                OnCreateDateChanging();
                _createDate = value;
                OnCreateDateChanged();
            }
        }
        partial void OnCreateDateChanging();
        partial void OnCreateDateChanged();

        [DataMember]
        public virtual string CreateTime
        {
            get { return _createTime.TrimEnd(); }
            set
            {
                OnCreateTimeChanging();
                _createTime = value;
                OnCreateTimeChanged();
            }
        }
        partial void OnCreateTimeChanging();
        partial void OnCreateTimeChanged();

        [DataMember]
        public virtual string EditUserCode
        {
            get { return _editUserCode.TrimEnd(); }
            set
            {
                OnEditUserCodeChanging();
                _editUserCode = value;
                OnEditUserCodeChanged();
            }
        }
        partial void OnEditUserCodeChanging();
        partial void OnEditUserCodeChanged();

        [DataMember]
        public virtual string EditUserName
        {
            get { return _editUserName.TrimEnd(); }
            set
            {
                OnEditUserNameChanging();
                _editUserName = value;
                OnEditUserNameChanged();
            }
        }
        partial void OnEditUserNameChanging();
        partial void OnEditUserNameChanged();

        [DataMember]
        public virtual string EditDate
        {
            get { return _editDate.TrimEnd(); }
            set
            {
                OnEditDateChanging();
                _editDate = value;
                OnEditDateChanged();
            }
        }
        partial void OnEditDateChanging();
        partial void OnEditDateChanged();

        [DataMember]
        public virtual string EditTime
        {
            get { return _editTime.TrimEnd(); }
            set
            {
                OnEditTimeChanging();
                _editTime = value;
                OnEditTimeChanged();
            }
        }
        partial void OnEditTimeChanging();
        partial void OnEditTimeChanged();

        [DataMember]
        public virtual string Remark
        {
            get { return _remark.TrimEnd(); }
            set
            {
                OnRemarkChanging();
                _remark = value;
                OnRemarkChanged();
            }
        }
        partial void OnRemarkChanging();
        partial void OnRemarkChanged();

        [DataMember]
        public virtual string StartDate
        {
            get { return _startDate.TrimEnd(); }
            set 
            {
                _startDate = value;
            }
        }

        [DataMember]
        public virtual string EndDate
        {
            get { return _endDate.TrimEnd(); }
            set
            {
                _endDate = value;
            }
        }
        #endregion
    }
}